package com.cloud.mkz.core.common.util;

import lombok.experimental.UtilityClass;

import java.util.Random;
import java.util.UUID;

@UtilityClass
public class UtilTools {
    /**
     * 生成固定长度的字符串（字母、数字组成）
     * @param length 长度
     * @return String
     */
    public static String randomStr(int length) {
        String val = "";
        Random random = new Random();
        //参数length，表示生成几位随机数
        for(int i = 0; i < length; i++) {
            String charOrNum = random.nextInt(2) % 2 == 0 ? "char" : "num";
            //输出字母还是数字
            if( "char".equalsIgnoreCase(charOrNum)) {
                //输出是大写字母还是小写字母
                int temp = random.nextInt(2) % 2 == 0 ? 65 : 97;
                val += (char)(random.nextInt(26) + temp);
            } else if( "num".equalsIgnoreCase(charOrNum) ) {
                val += String.valueOf(random.nextInt(10));
            }
        }
        return val.toLowerCase();
    }

    /**
     * 获取系统登录Token
     * @return String
     */
    public static String getTokenStr(){
        return UUID.randomUUID().toString().replace("-", "")+randomStr(8);
    }
}
